package pl.vm.domain.interfaces;

import java.util.Set;

import pl.vm.domain.OfficialTeam;
import pl.vm.domain.Owner;
import pl.vm.domain.VirtualTeam;
import pl.vm.domain.exceptions.TeamIsNotValidException;

public interface TeamManager {

	boolean addTeam(VirtualTeam team);
	void registerTeam(VirtualTeam team);
	boolean changeTeam(VirtualTeam oldTeam, VirtualTeam newTeam);
	VirtualTeam getTeam(String name);
	boolean deleteTeam(VirtualTeam team);
	Set<VirtualTeam> getVirtualTeams();
	Set<VirtualTeam> getTeamsOwnedBy(Owner owner);
	Set<OfficialTeam> getOfficialTeams();
	boolean addOfficialTeam(OfficialTeam team) throws TeamIsNotValidException;
}
